Modern software development is evolving away from the client-server model toward “cloud”-based processing systems that provide access to data and services via the Internet or other networks. In contrast to prior systems that hosted networked applications on dedicated server hardware, the cloud computing model allows applications to be provided over the network “as a service” supplied by an infrastructure provider. The infrastructure provider typically abstracts the underlying hardware and other resources used to deliver a customer-developed application so that the customer no longer needs to operate and support dedicated server hardware. The cloud computing model can often provide substantial cost savings to the customer over the life of the application because the customer no longer needs to provide dedicated network infrastructure, electrical and temperature controls, physical security and other logistics in support of dedicated server hardware.
Multi-tenant platforms can facilitate effective collaboration between users, including between users in different tenants. One way that multi-tenant platforms facilitate effective collaboration is by providing for the controlled sharing of data between tenants. For example, one organization may elect to share various types of product information with other tenants as a way to facilitate cooperation on a host of issues. Multi-tenant platforms may facilitate such sharing data though the controlled sharing of selected records. When a selected record is shared, a connection is made from the originating tenant to the target tenant, allowing the target tenant to access the record.
One issue that arises with such sharing of records occurs when such records are updated or otherwise changed. Specifically, when a record is changed there is typically a need to update that record for all users with which that record has been shared. When large numbers of records are shared with large numbers of users, such updating of records may be very resource intensive. In some cases, the wait for such an updating to occur may be significant. Furthermore, users with large numbers of shared records and correspondingly large numbers of updates to shared records can hog resources and delay processing for other users. Thus, there remains a continuing need for systems methods for sharing and updating of records between tenants that improve the processing performance of such sharing.